package org.lease.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.lease.model.dto.RoomItemDTO;
import org.lease.model.dto.RoomSaveDTO;
import org.lease.model.entity.RoomInfo;
import org.lease.model.query.RoomPageQuery;
import org.lease.model.vo.RoomDetailVo;

public interface RoomInfoService extends IService<RoomInfo> {
    Long countReleasedByApartmentId(Long apartmentId);

    IPage<RoomItemDTO> pageQueryRoomItem(IPage<RoomItemDTO> page, RoomPageQuery pageQuery);

    boolean saveOrUpdateRoom(RoomSaveDTO roomSaveDTO);

    RoomDetailVo getRoomDetailById(Long id);

    RoomDetailVo getAppRoomDetailById(Long id);

    void removeRoomById(Long id);

    IPage<RoomItemDTO> pageQueryAppRoomItem(IPage<RoomItemDTO> page, RoomPageQuery query);
}
